1. Field of the Invention
This invention relates to data storage systems and methods and more particularly to systems and methods for reorganizing storage structures.
2. Description of the Related Art
High performance storage systems have become more and more important in the current business world. Storage system performance is often determined by its hardware and architecture. However, storage system performance is also affected by the cumulative application behaviors of hosts.
For example, if a file system frequently undergoes add/edit/delete operations, newly added files are often broken into multiple discontinuous blocks on the storage structure. A storage structure includes the data storage media and the physical or logical organization of the data storage media. Examples include a single hard disk, an array of hard disks, an IBM TotalStorage™ system, and a hierarchal storage system with RAID. When a file is read, the storage controller has to scan multiple locations on the storage media which increases the storage seek-time-one of the most significant bottlenecks in a computer's performance.
Currently, certain file defragmentation utilities exist, such as Microsoft Defragment Tools, Norton Utilities and Mac Defragment Tools. However, currently available file defragmentation utilities have certain shortcomings. Firstly, file defragmentation utilities typically consume considerable host resources. Indeed, defragmentation is often so cumbersome that the host has to stop running other applications altogether to allow the file defragmentation utility to operate properly. Secondly, file defragmentation utilities typically run in the operating system (OS) of a host computer. As such, for each operating system and file systems, the host has to implement a different version of the file defragmentation utility.
Thirdly, file defragmentation operations do not know the architecture of the media storage structure in detail and typically treat low level storage as a single media and assume that linear data allocation will achieve good performance. In particular, OS-based defragmentation utilities are typically unaware of the architecture of enterprise-level storage systems such as hierarchical storage systems with RAID and virtual mapping capabilities. Finally, such file defragmentation utilities only consider the block continuity of individual files and ignore other kinds of block correlations.